The classical problem of quantizing an analog signal into some set of a-priori chosen discrete-alphabet values, was extensively studied following the pioneering work of Shannon on rate distortion theory published in 1948 by C. E. Shannon, “A mathematical theory of communication” Bell System Technical Journal, 27, 1948.
Various quantization methods are known to those skilled in the art. In general, each of these methods utilizes a specific cost function. The object of a quantizer is to minimize the respective quantization cost.
In digital communication applications, digital information is modulated onto a carrier signal which is then, transmitted over an analog channel. The output of the channel is sampled, quantized and processed by the receiver in order to recover the transmitted digital information.
The natural cost function which is used in this case is the probability of error. The objective of the quantization strategy is to minimize the probability of incorrectly receiving the transmitted information.
Unfortunately, analytically minimizing this cost function is mathematically intractable even for relatively simple scenarios (see e.g. J. Salz and E. Zehavi, “Decoding under integer metric constraints”, IEEE Transactions on Communications, vol. 43, pp. 307-317, 1995).
Reference is now made to FIG. 1, which is a schematic illustration of a digital communication receiver, generally referenced 10, known in the art.
System 10 includes an analog to digital (A/D) converter 12, a demodulator 14, an automatic-gain-control (AGC) unit 15, a quantizer 16, and a decoder 18.
The transmitted signal is picked-up by the receiver's antenna and is then amplified and filtered at the receiver's front-end (not shown in FIG. 1). The resulting signal is fed into system 10 at the input of the A/D 12.
The A/D 12 converts the signal to digital samples and provides them to the demodulator 14. The demodulator 14 processes the digitized samples and produces a demodulated signal Y[n]. The AGC unit 15 normalizes the demodulated signal Y[n], to fit into the dynamic range of the quantizer 16, as follows{tilde over (Y)}[n]=AGC—Gain·Y[n]  Equation 1 where AGC_Gain may vary from sample to sample.
The quantizer 16 processes the normalized samples {tilde over (Y)}[n], thereby producing the quantized samples Q({tilde over (Y)}[n]) such that each sample is represented by B bits. In most cases, Q({tilde over (Y)}[n]) is simply the nearest element to {tilde over (Y)}[n] in the set of 2B possible quantization levels. The quantized samples are provided to the decoder 18, which in turn attempts to recover the transmitted information.
It is noted that system 10 is a mere example to systems which are known in the art. Those skilled in the art are familiar with several other configurations. For example, in a spread-spectrum CDMA (Code Division Multiple Access) environment operating on a multi-path fading channel, the demodulator is replaced by a rake demodulator. A rake demodulator includes a plurality of demodulating fingers, each of which attempts to detect and demodulate a different replica of the transmitted signal.
According to another example, an analog demodulator may be utilized. In this case, an A/D converter is placed after the demodulator, sometimes also serving as a quantizer.
However, regardless of the specific receiver type and structure, its complexity, or more particularly, the complexity of the decoder, increases with B—the number of bits used to represent each quantized sample Q({tilde over (Y)}[n]). Therefore, it is desirable to choose a quantization strategy that minimizes B.
The minimal possible value for B is B=1, which is called “Hard Decision”. In this case the numbers produced by the quantizer are restricted to have only two possible values “one” and “zero”. All other situations are called “Soft Decision” and correspond to the case where B>1.
When hard-decision is used, only the sign of {tilde over (Y)}[n] is fed into the decoder, thus completely ignoring any information conveyed by its magnitude. Therefore, hard-decision decoding, although very simple to implement, can lead to a significant degradation in performance.
On the other hand, when B is very large, the full potential of the code is utilized. It will be noted however, that in this case, the decoder complexity is high. It is therefore desirable to come-up with an efficient quantization strategy that allows good tradeoff between decoder complexity and quantization loss.
Methods for quantizing the input to a soft decoder operating over a static AWGN channel are described in Onyszchuk et. al. In this case, the demodulated signal can be represented byY[n]=h·S[n]+W[n]  Equation 2 where S[n] is the desired (information bearing) signal that needs to be decoded, h is the complex valued channel gain, and W[n] is an additive white Gaussian noise term.
The conventional quantization strategy for such channels is based on first normalizing the RMS (Root Mean Square) value of Y[n] to a pre-determined value denoted by Desired_RMS, and then applying a uniform quantizer e.g. a conventional A/D converter. The normalization operation is performed by the AGC according to Equation 1, by setting                     AGC_Gain        =                  Desired_RMS          Estimated_RMS                                    Equation        ⁢                                   ⁢        3                            where the Estimated_RMS may be computed in a variety of ways, e.g.                     Estimated_RMS        =                                            1              N                        ·                                          ∑                                  n                  =                  1                                N                            ⁢                                                           ⁢                                                                                      Y                    ⁡                                          [                      n                      ]                                                                                        2                                                                        Equation        ⁢                                   ⁢        4                    
This quantization strategy performs well when the channel is static, (i.e. the model in Equation 2 holds).
However, when implemented for non-static channels, this approach can lead to a significant degradation in performance. In order to clarify this, we now consider a simple generalization of Equation 2, in whichY[n]=h[n]·S[n]+W[n]  Equation 5 where, as before, Y[n] is the demodulated signal; S[n] is the information bearing signal; W[n] is the additive white Gaussian noise term; and h[n] is the complex valued channel gain which is now allowed to be time varying.
Reference is now made to FIGS. 2A, 2B, 2C and 2D.
FIG. 2A is an illustration of a frame of a transmitted signal, generally referenced 140A. The signal is divided into a plurality of sections 150A, 152A, 154A, 156A, 158A and 160A, each including a plurality of symbols represented by dots. For example, section 150A includes five symbols. The first three symbols and the fifth symbol are of a value of +1, while the fourth symbol is of a value of −1.
FIG. 2B is an illustration of a dynamically fading channel where we plotted only its magnitude |h[n]|, generally referenced 142. Each of the dots along the line represents the gain of the channel at a point in time which is respective to a symbol of signal 140A (FIG. 2A).
FIG. 2C is an illustration of the demodulated signal Y[n] of the received frame in the absence of noise according to the simple model of Equation 5, generally referenced 140B. Each of the samples in the demodulated signal 140B is, in general, a multiplication of a selected transmitted symbol of signal 140A (FIG. 2A) and the respective fading value of the channel 142 (FIG. 2B).
FIG. 2D is an illustration of the quantized signal Q({tilde over (Y)}[n]), produced from signal 140B, when AGC_Gain is set to unity and the following five level uniform quantizer utilized,                               Q          ⁢                                           ⁢                      (                                          Y                ~                            ⁡                              [                n                ]                                      )                          =                  {                                                    1                                            if                                                                                                        Y                      ~                                        ⁡                                          [                      n                      ]                                                        >                  0.75                                                                                    0.5                                            if                                                              0.75                  ≥                                                            Y                      ~                                        ⁡                                          [                      n                      ]                                                        >                  0.25                                                                                    0                                            if                                                              0.25                  ≥                                                            Y                      ~                                        ⁡                                          [                      n                      ]                                                        >                                      -                    0.25                                                                                                                        -                  0.5                                                            if                                                                                  -                    0.25                                    ≥                                                            Y                      ~                                        ⁡                                          [                      n                      ]                                                        >                                      -                    0.75                                                                                                                        -                  1                                                            if                                                                                                        Y                      ~                                        ⁡                                          [                      n                      ]                                                        ≤                                      -                    0.75                                                                                                          Equation        ⁢                                   ⁢        6            
As can be seen from Equation 5, Equation 6 and FIG. 2D, all samples for which the fade magnitude is smaller than 0.25, such as the samples in section 158B (FIG. 2C), are mapped by the quantizer to the value “0” (section 158C).
These are called erasures, since they contain no information on the actual transmitted bit—it can equally likely be a “1” or a “−1”.
It will be appreciated by those skilled in the art (see for example: G. C. Clark Jr and J. Bibb Cain “Error —Correction Coding for Digital Communications” Chapter 5) that if the number of erasures is larger than a certain threshold related to the minimum distance of the code, then even an optimal decoder is likely to be in error.
Thus, whenever a deep channel fade occur for a sufficiently long period, a decoding error will occurs due to the quantization of the sampled data during the fade into erasures. This phenomenon happens regardless of the specific decoding method and/or decoding structure. Furthermore, even if erasures do not occur, decoding errors are still most likely to occur during channel fades, since the SNR (Signal-to-Noise Ratio) is low in these periods.
It is therefore clear that in a fading environment it is the quantization of the samples corresponding to low channel gain that attribute the most to the quantization loss.
One simple way to reduce the quantization loss is by using a larger value of Desired_RMS in Equation 3. With this approach, the signal is amplified so that its low magnitude portion is better mapped on the dynamic range of the quantizer. The price is of course worsening the mapping of the large magnitude portion of the signal that leads to clipping effects. Such clipping effects have a negligible effect on the overall performance, since they occur when the SNR is relatively high. Thus, overall an improvement in performance is achieved. However, if the channel happens to be static, the Desired_RMS value will no longer correspond to its optimal value, resulting in an increase in quantization loss. Furthermore, even with fading channels, different Desired_RMS values are required for different fading characteristics. The approach presented below circumvents these issues.